package com.bosssoft.common.context;

/**
 * UserInfo 类用于封装用户信息。
 * 包含用户的 ID、用户名和角色信息。
 */
public class UserInfo {

    /**
     * 用户ID
     * 唯一标识用户的标识符。
     */
    private Long userId;

    /**
     * 用户名
     * 用户的登录名称。
     */
    private String username;

    /**
     * 用户角色
     * 用户的角色信息，可以表示为多个角色的字符串（例如，以逗号分隔）。
     */
    private String roles;

    // 默认构造函数
    public UserInfo() {
    }

    // 带参数的构造函数
    public UserInfo(Long userId, String username, String roles) {
        this.userId = userId;
        this.username = username;
        this.roles = roles;
    }

    // Getters 和 Setters

    /**
     * 获取用户ID
     * @return 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取用户名
     * @return 用户名
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置用户名
     * @param username 用户名
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取用户角色
     * @return 用户角色
     */
    public String getRoles() {
        return roles;
    }

    /**
     * 设置用户角色
     * @param roles 用户角色
     */
    public void setRoles(String roles) {
        this.roles = roles;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "userId=" + userId +
                ", username='" + username + '\'' +
                ", roles='" + roles + '\'' +
                '}';
    }
}
